function throttle(fn, gapTime) {
	if (gapTime == null || gapTime == undefined) {
		gapTime = 1500
	}

	let _lastTime = null

	// 返回新的函数
	return function() {
		let _nowTime = +new Date()
		if (_nowTime - _lastTime > gapTime || !_lastTime) {
			fn.apply(this, arguments) //将this和参数传给原函数
			_lastTime = _nowTime
		}
	}
}

function isWx() {
	let en = window.navigator.userAgent.toLowerCase()
	// 匹配en中是否含有MicroMessenger字符串
	if (en.match(/MicroMessenger/i) == 'micromessenger') {
		return 1;
	}
	if (en.match(/MicroMessenger/i) != 'micromessenger') {
		return 0;
	}
}

function request(url, data = {}, header = null) {
	let _header = {};
	if(header){
		_header = header;
	}else{
		_header = {
			'token': uni.getStorageSync('token'),
			'content-type': 'application/x-www-form-urlencoded'
		}
	}

	// var pages = getCurrentPages(); // 当前页面
	// var beforePage = pages[pages.length - 2]; // 前一个页面
	// var route = beforePage.route
	var urls = window.location.href;
	console.log(urls)

	let domain = "https://rabbit.jiujingwulian.com/"
	
	url = domain + url;
	data.token = uni.getStorageSync('token')
	data.route = urls
	// uni.showLoading({
	// 	title:'加载中...',
	// 	mask:true
	// })
	return new Promise((resolve, reject) => {
		uni.request({
			method: "POST",
			url: url,
			data: data,
			header: _header,
			success: function(result) {
				// uni.hideLoading()
				resolve(result.data)
			},
			fail: function(e) {
				reject(e)
			},
		})
	})
}

function GetQueryString(url) {
	if (url.indexOf("?") != -1) { //判断是否有参数
		var str = url.substr(1); //从第一个字符开始 因为第0个是?号 获取所有除问号的所有符串
		var strs = str.split("="); //用等号进行分隔 （因为知道只有一个参数 所以直接用等号进分隔 如果有多个参数 要用&号分隔 再用等号进行分隔）
		return strs[1]; //直接弹出第一个参数 （如果有多个参数 还要进行循环的）
	}
}

function wechatPay(params) {
	if (typeof WeixinJSBridge == "undefined") {
		if (document.addEventListener) {
			document.addEventListener('WeixinJSBridgeReady', onBridgeReady(params), false);
		} else if (document.attachEvent) {
			document.attachEvent('WeixinJSBridgeReady', onBridgeReady(params));
			document.attachEvent('onWeixinJSBridgeReady', onBridgeReady(params));
		}
	} else {
		onBridgeReady(params);
	}
}

function onBridgeReady(params) {

	WeixinJSBridge.invoke(
		'getBrandWCPayRequest', {
			"appId": params.appId, //公众号名称，由商户传入 
			"timeStamp": params.timeStamp, //时间戳，自1970年以来的秒数 
			"nonceStr": params.nonceStr, //随机串 
			"package": params.package,
			"signType": params.signType, //微信签名方式: 
			"paySign": params.paySign //微信签名 
		},
		function(res) {
			if (res.err_msg == "get_brand_wcpay_request:ok") {

				alert("支付成功");
			} // 使用以上方式判断前端返回,微信团队郑重提示：res.err_msg将在用户支付成功后返回 ok，但并不保证它绝对可靠。 
		}
	);
}
export default {
	throttle: throttle,
	request: request,
	isWx: isWx,
	GetQueryString: GetQueryString
}